home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1728.txt < prev    next >
Text File  |  1997-04-01  |  12KB  |  340 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          C. Weider
  8. Request for Comments: 1728                    Bunyip Information Systems
  9. Category: Informational                                    December 1994
  10.  
  11.  
  12.                          Resource Transponders
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  This memo
  17.    does not specify an Internet standard of any kind.  Distribution of
  18.    this memo is unlimited.
  19.  
  20. Abstract
  21.  
  22.    Although a number of systems have been created in the last several
  23.    years to provide resource location and navigation on the Internet,
  24.    the information contained in these systems must be maintained and
  25.    updated by hand.  This paper describes an automatic mechanism, the
  26.    resource transponder, for maintaining resource location information.
  27.  
  28. Author's Note:
  29.  
  30.    This document is being circulated as sort of a research paper;
  31.    consequently there are no protocol specifications or anything of the
  32.    sort.  I hope that we can go from here and actually design them if
  33.    there's consensus that they are potentially useful. Once we have some
  34.    idea of the required functionality, we can then go out and
  35.    standardize them.
  36.  
  37. Disclaimer
  38.  
  39.    This paper represents only the opinions of the author; it does not
  40.    represent the consensus of the IIIR Working Group, although it is
  41.    recognized by them as one legitimate approach to a solution of the
  42.    problem.
  43.  
  44. 1. Introduction
  45.  
  46.    In the past few years, we've seen the invention and growth of a
  47.    number of information location systems on the Internet, e.g., archie,
  48.    Gopher, and WAIS.  However, as these systems have become widely
  49.    deployed, a number of maintenance and security problems have arisen
  50.    with them.  Some of the major ones:
  51.  
  52.    1) Out of necessity, most of these systems contain pointers to the
  53.       desired resources rather than the resources themselves. Therefore,
  54.       if a resource becomes obsolete, is modified, or is moved, the
  55.  
  56.  
  57.  
  58. Weider                                                          [Page 1]
  59.  
  60. RFC 1728                 Resource Transponders             December 1994
  61.  
  62.  
  63.       location system must be updated by hand. Some systems (archie in
  64.       particular) proactively create updated indexes by contacting every
  65.       resource on a certain time schedule (every 30 days or so) but this
  66.       means that the system can be up to 30 days out of date, and this
  67.       process can be highly inefficient depending on the percentage of
  68.       information that has changed.
  69.  
  70.    2) Conversely, anyone who maintains a resource that they wish indexed
  71.       must keep track of every directory which contains a pointer to
  72.       that resource, so that if it is modified, all the directories can
  73.       be updated. This obviously is an optimistic scenario.
  74.  
  75.    3) Many organizations which have installed these systems do not have
  76.       the the available resources or expertise to maintain the
  77.       information in the systems. Thus we have long periods where the
  78.       information drifts, then a short period when the information is
  79.       updated again.
  80.  
  81.    4) Even though these systems are almost always out of date today,
  82.       this problem will become increasingly harder for humans to manage
  83.       by hand as everyone on the net becomes their own publisher. Also,
  84.       as the net speeds up and people rely more and more on accurate
  85.       information, human-induced delays in updates of these systems will
  86.       become increasingly intolerable.
  87.  
  88.    5) Most, if not all, of these systems provide no security whatsoever;
  89.       if a pointer to a resource appears in a locator system, then it is
  90.       assumed to be meant for public consumption. There are many
  91.       potential information providers who would like to use publicly
  92.       deployed information systems to publish to a very selected
  93.       clientele, and do not wish to allow the whole net access to their
  94.       resources.
  95.  
  96. 2. Requirements for a Solution
  97.  
  98.    There are several objectives which must be met by any proposed
  99.    solution to these problems:
  100.  
  101.    1) We need to decrease the personnel resources needed for indexing
  102.       and pointer maintenance.
  103.  
  104.    2) We need to increase the reliability and accuracy of the
  105.       information held in resource location systems.
  106.  
  107.    3) We need to provide some mechanisms for security, particularly by
  108.       mediating access to the resources.
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Weider                                                          [Page 2]
  115.  
  116. RFC 1728                 Resource Transponders             December 1994
  117.  
  118.  
  119.    4) We need to make it easy for non-experts, such as librarians,
  120.       archivists, and database maintainers, to announce their new
  121.       resources to the various resource location services.
  122.  
  123.    Many of these problems can be solved by a 'resource transponder'
  124.    mechanism.
  125.  
  126. 3. Resource Transponders
  127.  
  128.    The resource transponder system works by adding two new layers to
  129.    every resource: metainformation and an agent to update a resource
  130.    location system (RLS) with that metainformation. The metainformation
  131.    layer is physically attached to every resource, so that when the
  132.    resource is moved or altered, the metainformation is immediately
  133.    available to update the RLS. The agent layer may also be attached to
  134.    the resource or may not be; the implications of both of these options
  135.    are discussed in detail below.
  136.  
  137.    3.1 Metainformation
  138.  
  139.    The metainformation layer of a given resource contains any
  140.    information which might be required to create a pointer to this
  141.    resource, and any information which may be useful for indicating how
  142.    to catalog or index the resource.  For example, the metainformation
  143.    layer of a text document might contain such things as the Uniform
  144.    Resource Name (URN) of the document (this is sort of a ISBN number
  145.    for electronic resources), the title of the document, a Uniform
  146.    Resource Locator (URL) for the document (this is a combination net
  147.    address and access method indicator, used for retrieval), the size of
  148.    the document, etc. Thus the metainformation layer contains data about
  149.    the resource to which it is attached.
  150.  
  151.    This metainformation is expected to be modifiable. For example, the
  152.    metainformation layer may contain a history of where this particular
  153.    copy of a resource has been.  Let's say that a resource/transponder
  154.    pair has been moved. When it gets to its new location, the agent can
  155.    then attempt to contact the resource at its old location to determine
  156.    whether the resource is still there (in which case the agent will
  157.    simply cause the new location to be added to the RLS) or whether the
  158.    resource is not there (in which case the agent can tell the RLS to
  159.    add the current pointer and delete the old one).
  160.  
  161.    A number of other possibilities for the contents of the
  162.    metainformation level are contained in section 4.1.
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Weider                                                          [Page 3]
  171.  
  172. RFC 1728                 Resource Transponders             December 1994
  173.  
  174.  
  175. 3.2 Agents
  176.  
  177.    The agent layer of a given resource contains an executable program
  178.    which is responsible for reading the metainformation attached to the
  179.    resource and using that information to update a RLS. It is also
  180.    responsible for updating the metainformation where necessary and for
  181.    running any indexing programs required by the RLS it is attempting to
  182.    update.
  183.  
  184.    When the tools required to build agents are constructed and deployed,
  185.    the author expects the agents to begin mediating access to the
  186.    resource, particularly for agents attached to resources which are not
  187.    currently considered active processes, such as text files and
  188.    digitized images.  In this futuristic model, someone wishing to read
  189.    a given document would have to first negotiate access to the data
  190.    with the agent; the agent would then be responsible for delivering
  191.    the data to the client. However, it is expected that this type of
  192.    agent will not be widely deployed for some time.
  193.  
  194.    Different ways of implementing agents are discussed in section 4.2.
  195.  
  196. 4. Models for implementations of resource transponders
  197.  
  198.    4.1. Models for implementations of the metainformation layer
  199.  
  200.    The metainformation layer can be impelemented in a number of ways,
  201.    depending on the resource with which it is associated. For an
  202.    'active' resource, such as an on-line catalog or a mail-based
  203.    service, the metainformation can be stored in a file with a well-
  204.    known name in the software distribution.  Alternatively, the
  205.    metainformation could be stored as a record in the data which the
  206.    resource serves. For a text document, the metainformation could be
  207.    stored as the first or last N bytes of the document (which would
  208.    break a number of editors and file display techniques, but would
  209.    guarantee that the metainformation is moved with the resource), or
  210.    perhaps as a file with a logically associated name (paper2.meta
  211.    associated with paper2.txt, for example).  The problem with this
  212.    second approach is that the user must know that they have to move the
  213.    metainformation with the file itself, or things will start breaking.
  214.    If an agent is explicitly attached to the resource, the agent could
  215.    contain the metainformation internally.
  216.  
  217.    In any case, the resource transponder system must be able to
  218.    guarantee that the metainformation is moved when the resource is
  219.    moved.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Weider                                                          [Page 4]
  227.  
  228. RFC 1728                 Resource Transponders             December 1994
  229.  
  230.  
  231. 4.2 Models for implementations of the agents
  232.  
  233.    The agent layer can also be implemented in a number of ways,
  234.    depending on such things as system loads, desired sizes of resources,
  235.    multitasking capabilities, etc.
  236.  
  237.    The easiest and for many unitasking systems the cleanest way of
  238.    implementing an agent is to have one agent per computer. Then when a
  239.    resource is moved onto that computer, the agent is explicitly
  240.    activated and notified where the new resource is. For example, let's
  241.    say that someone wishes to download a copy of a resource and then let
  242.    the RLS know that that resource is available for public consumption.
  243.    She would download the resource and then run the agent, which would
  244.    then notify the RLS and update the metainformation attached to the
  245.    resource. This model could also be used to track files on a LAN, or
  246.    to provide local location services with no need to run a larger RLS.
  247.  
  248.    Another model for implementation of the agent is to have one agent
  249.    per resource. In this model, the agent would be moved along with the
  250.    resource and the metainformation. The agent could be implemented in a
  251.    file which would be associated with the resource; in that case the
  252.    agent would have to be explicitly activated when the resource was
  253.    moved. Alternatively, the agent/metainformation/resource system could
  254.    be implemented as one system, or in one file. In this case, the agent
  255.    itself would always be active, and would be responsible for mediating
  256.    access to the resource.  When one did a 'telnet' to a resource with
  257.    an active agent, the agent would accept the telnet connection and be
  258.    responsible for providing security and translation for the data. This
  259.    could provide great security for resources while still allowing
  260.    pointers to them to be placed in public RLS's; the data in the
  261.    resource could be encrypted, with the agent responsible for
  262.    decrypting it.
  263.  
  264. 5. Security Considerations
  265.  
  266.    Security issues are discussed throughout this memo.
  267.  
  268. 6. Author's Address
  269.  
  270.    Chris Weider
  271.    Bunyip Information Systems, Inc.
  272.    2001 S. Huron Parkway, #12
  273.    Ann Arbor, MI 48104
  274.    USA
  275.  
  276.    Phone: +1 313-971-2223
  277.    Fax: +1 313-971-2223
  278.    EMail: clw@bunyip.com
  279.  
  280.  
  281.  
  282. Weider                                                          [Page 5]
  283.  
  284. RFC 1728                 Resource Transponders             December 1994
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Weider                                                          [Page 6]
  339.  
  340.